// const buf1 = Buffer.alloc(10,"a");
// console.log(buf1);

// const buffer = Buffer.from('hello world','ascii');
// console.log(buffer);

// console.log(Buffer.poolSize)

// 仅限 Windows 系统
// const {spawn} = require('child_process');
// const bat = spawn('cmd.exe', ['/c', 'my.bat']);
//
// bat.stdout.on('data', (data) => {
//     console.log(data.toString());
// });
//
// bat.stderr.on('data', (data) => {
//     console.log(data.toString());
// });
//
// bat.on('exit', (code) => {
//     console.log(`子进程退出码：${code}`);
// });


// const cluster = require('cluster');
// const http = require('http');
// const numCPUs = require('os').cpus().length;
//
// if (cluster.isMaster) {
//     console.log(`主进程 ${process.pid} 正在运行`);
//
//     // 衍生工作进程。
//     for (let i = 0; i < numCPUs; i++) {
//         cluster.fork().on("listening",(address)=>{
//             console.log("进程被监听中")
//         });
//     }
//
//     cluster.on('exit', (worker, code, signal) => {
//         console.log(`工作进程 ${worker.process.pid} 已退出`);
//     });
// } else {
//     // 工作进程可以共享任何 TCP 连接。
//     // 在本例子中，共享的是一个 HTTP 服务器。
//     http.createServer((req, res) => {
//         res.writeHead(200,{
//             "Content-type":"text/plain"
//         });
//         res.end('你好世界');
//     }).listen(8000);
//
//     console.log(`工作进程 ${process.pid} 已启动`);
// }


// const dns = require('dns');
//
// dns.lookup('iana.org', (err, address, family) => {
//     console.log('IP 地址: %j 地址族: IPv%s', address, family);
// });

const dns = require('dns');

dns.resolve4('archive.org', (err, addresses) => {
    if (err) throw err;

    console.log(`IP 地址: ${JSON.stringify(addresses)}`);

    addresses.forEach((a) => {
        dns.reverse(a, (err, hostnames) => {
            if (err) {
                throw err;
            }
            console.log(`IP 地址 ${a} 逆向解析到域名: ${JSON.stringify(hostnames)}`);
        });
    });
});